from django.contrib import admin
from rankings.models import Fase, Categoria, Grupo, Pareja, Jugador, Ranking
from django.forms import ModelForm
from django import forms
from django.conf.urls import patterns, url
from rankings.admin_filters import CategoriaFilter
import models

class CategoriaInline(admin.TabularInline):
    model = Categoria

class FaseAdmin(admin.ModelAdmin):
    inlines = [CategoriaInline,]

# class GrupoAdminForm(ModelForm):
#     categoria = forms.ModelChoiceField(queryset=_categorias_seleccionadas())
#     nombre = forms.CharField(max_length=200)


class GrupoAdmin(admin.ModelAdmin):
    list_display = ('nombre', 'categoria')
    fieldsets = (
        (None, {
            'classes': ('',),
            'fields': ('categoria','nombre',)}
        ),
    )
    def formfield_for_foreignkey(self, db_field, request, **kwargs):
        if db_field.name == "categoria":
            kwargs['queryset'] = Categoria.objects.seleccionados()
        return super(GrupoAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)

    def queryset(self, request):
        return Grupo.objects.seleccionados()

class ParejaAdmin(admin.ModelAdmin):
    list_filter = (CategoriaFilter,)
    search_fields = ['jugador__nombre', 'jugador2__nombre']

class JugadorAdmin(admin.ModelAdmin):
    search_fields = ['nombre', 'movil', 'email',]
    list_display = ('nombre', 'movil', 'email')



admin.site.register(Ranking)
admin.site.register(Fase, FaseAdmin)
admin.site.register(Grupo, GrupoAdmin)
admin.site.register(Pareja, ParejaAdmin)
admin.site.register(Jugador, JugadorAdmin)
